#ifndef VERTEX_H
#define VERTEX_H

#include"Color.h"
#include"Matrix.h"


class Vertex {
public:
	Vec4f pos;
	Vec4f normal;
	Color color;
	Vec2 uv;

	Vertex() {}
	Vertex(const Vec4f& _pos, const Color& _color, const Vec2 _uv) :pos(_pos), color(_color), uv(_uv) {}
	Vertex(const Vec4f& _pos,const Color& _color, const Vec4f& _normal, const Vec2 _uv):pos(_pos),normal(_normal),color(_color),uv(_uv){}
	~Vertex() {}

	Vertex operator*(const Matrix& m);

	void LerpVertex(Vertex& v1, Vertex& v2, float t);

	void Print();

	static float LerpFloat(float f1, float f2, float t) {
		return f1 + (f2 - f1) * t;
	}


};

#endif // !VERTEX_H
